Skip to main content
GET
`GET /api/v1/prices`: indicative per-venue prices for one pair, from memory.

Authorizations

X-API-Key
string
header
required

Send the API key in X-API-Key.

Request signing. A key with signing enabled (POST /api/v1/workspaces/{workspaceId}/users/me/api-keys/{keyId}/signing, which returns the signing secret once) must also sign every request:

  • X-Timestamp: the current Unix time in seconds, within 300 seconds of the server clock.
  • X-Signature: lower-case hex HMAC-SHA256 of the canonical string, keyed with the signing secret's 32 bytes (the secret is 64 hex characters; decode it first).

The canonical string is four lines joined by \n, with no trailing newline: the X-Timestamp value, the upper-case method, the path with its query exactly as sent (/api/v1/orders?limit=1), and the lower-case hex SHA-256 of the exact body bytes (the SHA-256 of an empty body when there is none).

A write's signature (POST, PUT, PATCH, DELETE) is accepted once: sending the same signed write again is refused, so a retry signs again. A read (GET, HEAD) changes nothing, so an identical signed read inside the window is admitted again and polling needs no nonce.

A signing refusal is a 401 AUTH_REQUIRED whose details.reason names the cause: SIGNATURE_REQUIRED (a header is missing), SIGNATURE_INVALID (a malformed header or a wrong signature), TIMESTAMP_OUT_OF_RANGE or SIGNATURE_REPLAYED.

Headers

X-Workspace-Id
string<uuid>

The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).

Query Parameters

sell
string
required

Sell Asset id (USDC)

buy
string
required

Buy Asset id (USDT)

sellAmount
string

The exact sell amount, a decimal in Asset units; send exactly one of sellAmount, buyAmount or sizes

buyAmount
string

The exact buy amount, a decimal in Asset units

sizes
string

1 to 8 comma-separated positive sell amounts

sell.chain
string

CAIP-2 pin for the sell side

buy.chain
string

CAIP-2 pin for the buy side

venues.include
string

Comma-separated venue ids to keep

venues.exclude
string

Comma-separated venue ids to drop

variants.sell
string

any | nativeOnly

variants.buy
string

any | nativeOnly

locations
string

Comma-separated singleChain, crossChain, offChain

modalities
string

Comma-separated amm, solver, bridge, rfq, orderBook, fiat

Response

Indicative rows, one per venue, location and variant pair; never orderable. A member session, or an API key with prices_read.

GET /prices 200, and each snapshot event of GET /prices/stream.

buy
string
required

A registry Asset id (USDC, USDe). Matched case-insensitively against the catalogue, which answers it in the registry's own spelling.

Example:

"USDC"

computedAt
string<date-time>
required

When the server built this snapshot (it reuses one for about a second).

referenceMid
null | object
required

The pair's indicative reference mid, from the same source as POST /quotes. null only when the read failed, with the cause in referenceMidUnavailable; never zero, stale or guessed. Never a quote input.

rows
object[]
required

Sorted like quotes: netReceived at the first size descending, an unavailable value last, then by venue id (there is no best).

One venue's price for one location and variant pair.

sell
string
required

A registry Asset id (USDC, USDe). Matched case-insensitively against the catalogue, which answers it in the registry's own spelling.

Example:

"USDC"

sellBalances
object[]
required

The sell Asset in the caller's own Default-binding wallets, one memory-only read per deployment (only the pinned chain when sell.chain is set). Display only, never a quote input. Empty for an API key, before the first warm, or with no bound wallet: unknown, never zero. A client totals the fresh entries and names every other entry as not read, never a silent partial total.

One chain's read of the sell Asset in the caller's Default-binding wallet.

New values may be added; treat unknown values as other.

referenceMidUnavailable
string | null

Why referenceMid is null: marketDataUnavailable (a market-data refusal or outage), notPriced (no reference price exists for an asset) or timedOut (past the read's budget).